package com.survey.project.research.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.survey.project.research.domain.Questionnaire;
import com.survey.project.research.domain.vo.QuestionChoiceListOutVo;
import com.survey.project.research.domain.vo.QuestionnaireQuestionListOutVo;

/**
 * 调研问卷Mapper接口
 *
 * @author survey
 * @date 2021-05-20
 */
public interface QuestionnaireMapper extends BaseMapper<Questionnaire> {
    /**
     * 查询调研问卷
     *
     * @param questionnaireId 调研问卷ID
     * @return 调研问卷
     */
    public Questionnaire selectQuestionnaireById(Long questionnaireId);

    /**
     * 查询调研问卷列表
     *
     * @param questionnaire 调研问卷
     * @return 调研问卷集合
     */
    public List<Questionnaire> selectQuestionnaireList(Questionnaire questionnaire);

    /**
     * 新增调研问卷
     *
     * @param questionnaire 调研问卷
     * @return 结果
     */
    public int insertQuestionnaire(Questionnaire questionnaire);

    /**
     * 修改调研问卷
     *
     * @param questionnaire 调研问卷
     * @return 结果
     */
    public int updateQuestionnaire(Questionnaire questionnaire);

    /**
     * 删除调研问卷
     *
     * @param questionnaireId 调研问卷ID
     * @return 结果
     */
    public int deleteQuestionnaireById(Long questionnaireId);

    /**
     * 批量删除调研问卷
     *
     * @param questionnaireIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteQuestionnaireByIds(Long[] questionnaireIds);

    List<QuestionnaireQuestionListOutVo> researchQuestionnaireQuestionList(Long questionnaireId);

    List<QuestionnaireQuestionListOutVo> consumerQuestions(Long consumerId);

    Long getQuestionnaireIdByConsumerId(Long consumerId);

    QuestionChoiceListOutVo getChoiceByChoiceId(Long choiceId);

    Long getQuestionnaireIdByChoiceId(Long choiceId);
}
